﻿using Wise.Entities;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Wise.Entities
{
    
    public class MyDbConfig : JsonConfig<MyDbConfig>
    {
        public MyDbConfig()
        {

        }
        public MyDbConfig(string fileFullName) : base(fileFullName)
        {

        }

        public 数据库配置 数据源 { get; } = new 数据库配置();

        public 数据库配置 目标数据库 { get; } = new 数据库配置();

        public List<表映射> 表映射 { get; } = new List<表映射>();

        public void LoadMap(string fileName)
        {
            using (FileStream fs = File.OpenRead(fileName))
            {
                DataSet ds = ExcelHelper.ExcelImport(fs);
                for (int i = 0; i < ds.Tables.Count; i++)
                {
                    DataTable dt = ds.Tables[0];
                    if (dt.Columns.Count == 2)
                    {
                        表映射 b = new 表映射();
                        b.源表名 = dt.Columns[0].ColumnName;
                        b.目标表名 = dt.Columns[1].ColumnName;
                        b.字段映射.AddRange(dt.Rows.Cast<DataRow>().Select(x => new 字段映射()
                        {
                            新数据库字段 = x[1].ToString()
                            ,
                            旧数据库字段 = x[0].ToString()
                        }));
                    }
                }
            }

        }
    }
}
